#pragma once

#include "D3DUtils.h"

// Abstraite
class Component
{
public:
	Component();
	virtual ~Component();

	static const std::vector<Component*>* GetComponents()
	{
		return &components;
	}

	virtual void Update(double dt){}
	virtual void Draw(ID3DXSprite& sprite, D3DXMATRIX& view, D3DXMATRIX& proj){}
	virtual void OnLostDevice(){}
	virtual void OnResetDevice(){}

private:
	static std::vector<Component*> components;
};

